Numerically controlled (NC) machining, e.g., turning, boring, drilling, broaching, sawing, shaping, reaming, milling, tapping, grinding, is a mechanical process that uses rotary tools to cut various materials, e.g., a metal material. Given a piece of material, which is called workpiece hereafter, NC machining uses a sequence of motor instructions to move/rotate worktools, e.g., cutters, to intersect the workpieces. With careful design, the customer of NC machining machine can cut the input workpiece to specific shapes. As the sequence of instructions can be complex to design by hand, it is common to use Computer-Aided Manufacturing (CAM) software to generate the instructions to transform a given input workpiece shape into a desired output workpiece shape. Likewise, computers can be used to simulate the machining process to confirm that the instructions can work correctly. The defective machining instructions waste machining time and workpiece materials, but can also hurt the NC machining machine. For instance, if the instructions lead to any collision between the cutters and the NC machining machine, the motors can break, which can be expensive to repair.
During the NC machining simulation a model of a workpiece is edited with a computer representation of a tool, e.g., an NC machining tool, and a set of motions, which simulate the machining process. The simulation is performed according to machining instructions that specify one or combination of a type and the motion of the machining tool. The simulation can visualize the model of the object and the representation of the tool on a display device to detect potential collisions between parts, such as the workpiece and the tool holder, and to verify a final shape of the object.
The final shape of the object is affected by the selection of the tool and the motions. Instructions for controlling the motions are typically generated using a computer aided manufacturing system from a graphical representation of a desired final shape of the object. The motions are typically implemented using numerical control programming language, also known as preparatory code or G-Codes, see the RS274D and DIN 66025/ISO 6983 standards.
The NC machining simulation can be time consuming for large workpieces and/or extensive machining instructions. A number of methods, such as methods disclosed in U.S. Pat. No. 8,483,858 and U.S. Pat. No. 8,838,419, aims to optimize the machining simulation. However, in some situations, further acceleration of the machining simulation is desired.